#pragma once

#include "Angel.h"
#include <vector>
#include <string.h>

struct HSTile
{
	std::string sId;			// unique identifier
	unsigned int uiSizeX;		// in pixels
	unsigned int uiSizeY;		// in pixels
	std::string sTex;			// texture name

	HSTile();
};

struct HSObject
{
	std::string		sId;			// unique identifier
	unsigned int	uiSizeX;		// in pixels
	unsigned int	uiSizeY;		// in pixels
	unsigned int	uiBlockRadius;	// in pixels
	std::string		sTex;			// if frameCount > 1 then this object is animated
	unsigned int	uiFrameCount;	// number of animation frames	
	float			fAnimDelay;		// in seconds
	float			fAnimPause;		// in seconds
	bool			bProximityTrigger;
									// if true and player is close enough this triggers action handler
									// based on object id, otherwise a right-click is required
	std::string		sActionType;
	std::string		sActionArg;

	HSObject();
};

bool LoadBlueprints( const std::string& sBlueprintsFile );

const HSTile* const GetTile( const std::string& sId );
const HSObject* const GetObject( const std::string& sId );
